iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 5
0

昨天我們簡單介紹了 Learned Index,主要是學習資料在array中的分布,建置Model,使用Model預測出資料在array中的位置。

那是學習甚麼...呢 ? 甚麼分布 ?

Ans: 學習CDF的分布

CDF全名為 Cumulative Density Function 累積分布函數,一種機率函數,計算小於等於x的機率。

https://ithelp.ithome.com.tw/upload/images/20200920/201291981fQiGj3hC9.png

參考資料

https://zh.wikipedia.org/wiki/%E7%B4%AF%E7%A7%AF%E5%88%86%E5%B8%83%E5%87%BD%E6%95%B0

https://www.youtube.com/watch?v=RlNfklkZPlo

Kraska et al. 他們發現了一件有趣的事情,在array中已排序好的key值,key值經由CDF分布函數產生的結果再乘以所有key值數量,會近似於key值自己所在的位置 ! (有點難懂厚 XD)

也就是說,使用CDF函數可以知道key值的位置。

Position = CDF(key) * N

一張圖勝過千言萬語 ~
https://ithelp.ithome.com.tw/upload/images/20200920/20129198SsOyts6QGJ.png

如上圖所示,N代表所有Key值數量在這裡為9,排序好的Key有 1, 5, 12, 14, 20, 35, 40, 89, 90,Key值的位置(Pos),也就是他們在array中的位置,分別為0, 1, 2 ... 8

只要使用CDF函式就可以 近似 找出Key值的位置 !

不是近五、近六,是近似喔XD


上一篇
Day 4 - Learned Index
下一篇
Day 6 - 建置Model學習CDF分布
系列文
索引結構與機器學習的相遇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言